package com.letv.whatslive.model;

import com.letv.whatslive.common.annotation.AutowiredInterface;
import com.letv.whatslive.common.annotation.DisplayControlAnnotation;
import lombok.Getter;
import lombok.Setter;
import org.springframework.stereotype.Component;

/**
 * activity application form
 * Created by liyulin on 2016/5/16.
 * 实现AutowiredInterface接口是为了在DisplayControl中自动注入，来初始化displayObjectInOrderMap，并借助DisplayControlAnnotation注解来控制字段是否显示、显示顺序以及显示内容
 * 目前只是用于控制打印成excel表格时的显示字段，以后可以根据扩展，用于其他场景
 */
@Getter
@Setter
@Component
public class ApplicationForm implements AutowiredInterface {
    @DisplayControlAnnotation(displayName = "ID",order = 1)
    private Long id;
    @DisplayControlAnnotation(displayName = "活动ID",order = 2)
    private Long activityId;
    @DisplayControlAnnotation(displayName = "用户ID",order = 3)
    private Long userId;
    @DisplayControlAnnotation(displayName = "姓名",order = 4)
    private String name;
    /**
     * 0-man,1-women
     */
    @DisplayControlAnnotation(displayName = "性别",order = 5,transfer = 1)
    private Integer gender;
    /**
     * identity card number
     */
    @DisplayControlAnnotation(displayName = "身份证号",order = 8)
    private String idNo;
    @DisplayControlAnnotation(displayName = "联系电话",order = 6)
    private String telephone;
    @DisplayControlAnnotation(displayName = "出生日期",order = 7)
    private String birthday;
    @DisplayControlAnnotation(displayName = "城市",order = 9)
    private String city;
    @DisplayControlAnnotation(displayName = "家庭地址",order = 10)
    private String homeAddress;
    @DisplayControlAnnotation(displayName = "公司名称",order = 11)
    private String cooperation;
    @DisplayControlAnnotation(displayName = "公司网址",order = 12)
    private String coWebsite;
    @DisplayControlAnnotation(displayName = "所在部门",order = 13)
    private String department;
    @DisplayControlAnnotation(displayName = "职位",order = 14)
    private String title;
    @DisplayControlAnnotation(displayName = "公司固话",order = 15)
    private String coTelephone;
    @DisplayControlAnnotation(displayName = "传真",order = 16)
    private String coFax;
    @DisplayControlAnnotation(displayName = "公司地址",order = 17)
    private String coAddress;
    @DisplayControlAnnotation(displayName = "邮箱",order = 18)
    private String email;
    @DisplayControlAnnotation(displayName = "QQ",order = 19)
    private String qq;
    @DisplayControlAnnotation(displayName = "微信",order = 20)
    private String weixin;
    @DisplayControlAnnotation(displayName = "自我介绍",order = 21)
    private String selfIntroduction;
    @DisplayControlAnnotation(displayName = "爱好与专长",order = 22)
    private String hobbies;
    @DisplayControlAnnotation(displayName = "备注",order = 23)
    private String memo;
    @DisplayControlAnnotation(displayName = "创建时间",order = 24,transfer = 1)
    private Long createTime;

    /**
     * 以下字段用于页面显示
     */
    private String createTimeStr;
}
